iT邦幫忙

2024 iThome 鐵人賽

DAY 6
0
Python

30天Python學習之旅系列 第 6

Day 6 : 函式

  • 分享至 

  • xImage
  •  

函式 ( function ) 是將代碼組織成模塊的方式,讓代碼更具可讀性、可重複使用性及可維護性。Python中的函式提供了強大的靈活性,並且可以幫助我們減少代碼重複,實現代碼的重用。今天是我學習Python的第六天,學習進度是了解如何定義和使用函式,並且進一步探討函式的參數、返回值等概念。

想像一下函數就像是一台自動販賣機
投幣(參數): 將錢幣投入販賣機,這就像是給函式傳入參數。
選擇商品(函式名): 選擇要購買的商品,這就像是呼叫了一個特定的函式。
得到商品(返回值): 販賣機吐出選擇的商品,這就像函式返回一個結果。

使用函式的原因:

  1. 增強程式的結構和可讀性
    函式將程式分解為較小的、獨立的模塊,每個函式專注於解決一個特定問題。這樣可以讓程式結構更加清晰,當讀者或開發者查看程式碼時,可以很容易理解每一部分的作用,而不需要一次性理解整個程式。
  2. 提高重複使用性
    函式能夠被多次調用,避免重複撰寫相同的代碼。如果某段邏輯在程式的不同部分都需要使用,只需撰寫一個函式,然後在需要時調用該函式即可,這樣不但節省了時間,還減少了出錯的機會。
  3. 簡化維護
    將程式劃分為小的函式後,每個函式的功能都是單一的,這使得在出現錯誤時,可以快速定位到錯誤發生的具體部分。由於函式是獨立的,修改某一函式的代碼不會影響到其他部分,從而簡化了維護工作。
  4. 提高代碼的可重用性
    如果某個函式具有通用功能,那麼可以在不同的項目中多次使用,不僅可以節省開發時間,也提高了效率。許多開發者會將常用的函式庫封裝起來,方便在未來的項目中直接調用。
  5. 參數化使函式更靈活
    函式可以接受參數,因此能夠針對不同的輸入進行處理,使得函式變得更加靈活,能處理更廣泛的需求,而不必撰寫多個類似的函式。
    所以使用函式是因為它能使程式更易於維護、更簡潔,並提高程式碼的效率與靈活性,也是為什麼函式在現代程式設計中如此不可或缺。

如何定義一個函式?

def:定義函式的關鍵字。
function_name:函式的名稱,用來識別函式。
parameters:函式的參數,可以是零個或多個。
return value:函式的返回值,可以是任何資料類型,也可以沒有返回值。
範例:
https://ithelp.ithome.com.tw/upload/images/20240919/201690782eD0gMnNky.png

帶參數的函式

函式可以接受參數,就能將值傳遞給函式,使其能夠處理不同的輸入。參數是函式定義時指定的變數,當函式被呼叫時,就能為參數傳遞具體的值。
範例:
在這個範例中,greet() 接受一個名為 name 的參數,然後輸出 "Hello, {name}!",函式在不同的呼叫時會顯示不同的人名。
https://ithelp.ithome.com.tw/upload/images/20240919/20169078FRbFgnGdgH.png

帶有返回值的函數

函式除了可以接受參數,還可以返回計算結果或處理過的數據,這就是「返回值」的概念。return 關鍵字用來將數值返回給呼叫該函式的地方,就可以在程式碼中繼續使用這些數值。
範例:
在這個例子中,add() 接受兩個參數 x 和 y,並返回兩者相加的結果。函式返回的值可以被賦予變數,並在後續的程式中使用。
https://ithelp.ithome.com.tw/upload/images/20240919/201690782UAbaWwFvI.png

可變參數

https://ithelp.ithome.com.tw/upload/images/20240919/20169078zSyN2NUsZJ.png

函數的作用域

在Python中,變數的作用域決定了它在哪些地方可以被訪問。函式內部定義的變數是「局部變數」,只在該函式內有效,而在函式外部定義的變數是「全域變數」,可以在整個程式碼中訪問。
範例:
這個範例說明了全域變數和局部變數的區別,函數內的 x 與外部的 x 是互不影響的兩個變數。
https://ithelp.ithome.com.tw/upload/images/20240919/201690782gPKkFB7q7.png

今天的學習幫助我掌握了 Python 函式的基本概念,從函式的定義、參數、返回值到函式的作用域。函式使程式碼更加結構化和模塊化,讓我們可以更有效率地打程式碼並運用。理解函式的運作原理,能為未來進行更複雜的程式設計打下良好的基礎。明天,我將進一步探索函式的進階使用技巧。


上一篇
Day 5 : 運算符與表達式
下一篇
Day 7 : 函式 ( 進階 )
系列文
30天Python學習之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言